0 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>
1 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>
2 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>
5 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>[][][][][][][][][][][][][][][][]<CTRL-M>[] []<CTRL-M>[] SUPER-REM PLUS []<CTRL-M>[] []<CTRL-M>[] AND []<CTRL-M>[] []
6 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>[] DATA-WRITE []<CTRL-M>[] []<CTRL-M>[] WRITTEN BY []<CTRL-M>[] []<CTRL-M>[] J.VARADY []
7 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>[] []<CTRL-M>[] 4 WOODMERE DR []<CTRL-M>[] []<CTRL-M>[] EATONTOWN NJ. []<CTRL-M>[] []<CTRL-M>[] 07724 []
8 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>[] []<CTRL-M>[][][][][][][][][][][][][][][][]
9 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><CTRL-M><CTRL-M><CTRL-D>VERIFY SUPER-REM PLUS
10 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>--------------------------------<CTRL-M> MAIN PROGRAM<CTRL-M>--------------------------------<CTRL-M><CTRL-M>
100 TEXT : HOME : PRINT SPC( 120): LIST 63400,: FOR X = 1 TO 5000: NEXT : HOME : FOR X = 1 TO 39:N$ = N$ +"-": NEXT : PRINT N$: INVERSE : PRINT SPC( 13);"SUPER-REM PLUS"; SPC( 12): NORMAL : PRINT : PRINT N$: POKE 34,3: POKE 35,22: VTAB 23: PRINT N$: VTAB 5
160 HOME : VTAB 7: PRINT "PRESS 'B TO EXIT TO BASIC": PRINT : PRINT "ANYTHING ELSE TO REBOOT";: GET A$: IF A$ = "B" THEN TEXT : HOME : END
170 PR# 6
39998 END
39999 DATA &
40000 DATA WELCOME TO SUPER-REM PLUS. THIS PROGRAM AIDS THE USER IN THE CREATING OF OUTSTANDING REMARK STATEMENTS.
40010 DATA &,THE PROGRAM SEARCHES THRU ALL THE LINES IN THE PROGRAM FOR SPECIAL TOKENS IN REMARK AND PRINT STATEMENTS.
40020 DATA UPON FINDING THESE TOKENS IT WILL CHANGE THEM TO OTHER VALUES.*
40030 DATA &THESE ARE THE TOKENS THAT WILL BE CHANGED IN PRINT STATEMENTS-,XXX
40040 DATA &THESE ARE THE TOKENS THAT WILL BE CHANGED IN REMARK STATEMENTS-,XXX
40050 DATA &TO USE THE BACKSPACE IN REMARK STATEMENTS TO COVER OVER THE LINE NUMBER AND 'REM' PUT SIX !'S PLUS ONE FOR EVERY DIGIT IN THE LINE NUMBER.
40060 DATA *,&THE CARRIAGE RETURN WILL RETURN THE PRINTING CURSOR TO THE LEFT EDGE OF THE SCREEN. YOU SHOULD NOT PUT MORE THAN 33 CHARACTERS ON A LINE OR THE APPLE WILL EDIT IT-PRODUCING UNDESIRABLE EFFECTS.
40070 DATA *,&THE CONTROL-D WHEN PRECEDED BY A CARRIAGE RETURN WILL EXECUTE ANY DOS COMMAND FOLLOWING IT WHEN THE LINE IS LISTED. THIS CAN BE USED FOR LIST PROTECTION AND MANY OTHER THINGS ...WELL USE YOUR IMMAGINATION.
40080 DATA *,&WHEN THE SUPER-REM PROGRAM IS RUN IT WILL ASK YOU FOR THE STARTING LINE. THE FIRST LINE OF YOUR PROGRAM NO MATTER WHAT THE LINE NUMBER IS LINE #1.,*&WHILE THE PROGRAM IS RUNNING IT WILL PRINT A 'R' WHEN IT ENCOUNTERS A REM
40090 DATA STATEMENT. IT WILL PRINT A 'P' WHEN IT ENCOUNTERS A PRINT STATEMENT AND IT WILL JUST PRINT A '.' WHEN NOTHING IS HAPPENING.
40100 DATA *&THE NUMBER AFTER THE LINE NUMBER IS THE STARTING LOCATION OF THAT LINE. THIS NUMBER, X AND X+1 ARE THE NUMBERS TO CHANGE (WITH A POKE X;NEW VALUE) THE LINE NUMBER. CHANGE BOTH TO 255 FOR A LINE NUMBER OF 65535.
40110 DATA *&THE SUPER-REM PROGRAM STARTS AT LINE 63000. TO USE IT ADD IT TO YOUR OWN PROGRAM USEING RENUMBER THEN 'RUN 63000'.
40120 DATA *&THE PROGRAM PRINTING OUT THIS PROGRAM IS CALLED DATA-WRITE. IT DOES EXACTLY WHAT IT'S NAME IMPLIES - PRINTS THE CONTENTS OF DATA STATEMENTS AS YOU NOW SEE THEM.
40130 DATA *&THE PROGRAM IS NOT PERFECT AND CAN BE A REAL PAIN UNTILL YOU GET TO KNOW IT BUT IS EXTREMLY HELPFUL IN DOING PRESENTATIONS LIKE THIS. &IT INDENTS NEW PARAGRAPHS AND WILL NOT CUT UP A WORD AT THE END OF THE LINE.
40140 DATA *&YOU MUST REALL TAKE A LOOK AT THE PROGRAM-IT STARTS AT LINE 62000. THE PROGRAM IS STARTED BY A GOSUB 62000 AND WILL RETURN WHEN IN ENCOUNTERS A 'XXX' DATA ENTRY.
40150 DATA &AS I SAID IT IS NOT PERFECT AND YOU SHOULD CHANGE IT TO SUIT YOUR OWN NEEDS.
59998 DATA XXX
59999 END
60000 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>--------------------------------<CTRL-M> ERROR-TRAP<CTRL-M><CTRL-M> FROM:BEAGLE BROS TIP BOOK-5<CTRL-M>--------------------------------<CTRL-M>
60001 T = 256:E = PEEK(220) +T * PEEK(221):E = E +5 *( PEEK(E) = 0):V = PEEK(E): POKE E,207:L$ = RIGHT$("0000" + STR$( PEEK(218) +T * PEEK(219)),5):L = PEEK(121) +T * PEEK(122) +49: FOR I = 1 TO 5: POKE L +I, ASC( MID$ (L$,I,1)): NEXT : LIST 00000: POKE E,V: POKE 216,0: RESUME
60002 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>[][][][][][][][][][][][][][][][]<CTRL-M>[] TO USE MAKE FIRST LINE []<CTRL-M>[] ON ERR GOTO 60001 []<CTRL-M>[][][][][][][][][][][][][][][][]
60009 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>--------------------------------<CTRL-M> PRESS ANY KEY<CTRL-M>--------------------------------
60010 VV = 24: POKE 34,21
60020 VTAB VV: HTAB 14: PRINT "PRESS ": FOR F = 1 TO 250: NEXT : VTAB VV: HTAB 14: PRINT "PRESS ANY ": FOR F = 1 TO 250: NEXT : VTAB VV: HTAB 14: PRINT "PRESS ANY KEY": FOR F = 1 TO 250: NEXT
60022 VTAB VV: HTAB 14: PRINT " ": FOR F = 1 TO 250: NEXT :Q = PEEK( -16384)
62000 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>--------------------------------<CTRL-M> DATA-WRITE<CTRL-M>--------------------------------<CTRL-M>
62001 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M><<<<<<<<<< >>>>>>>>>><CTRL-M>&.....NEW PARAGRAPH<CTRL-M>*.....NEW PAGE<CTRL-M><<<<<<<<<< >>>>>>>>>><CTRL-M>
62009 HO = 1
62010 D = 2:SO = -16336:PR$ = " "
62020 READ A1$: IF A1$ = "XXX" THEN P$ = A$: GOSUB 62090: RETURN
62030 A$ = A$ +" " +A1$
62040 IF LEN(A$) <39 THEN GOTO 62020
62050 GOSUB 62070: IF RE THEN RETURN
62055 IF HO THEN VTAB 4:HO = 0
62060 GOTO 62040
62070 FOR X = 40 TO 0 STEP -1: IF MID$ (A$,X,1) = " " THEN P$ = LEFT$(A$,X):A$ = RIGHT$(A$,( LEN(A$) -X)):X = 0
62120 IF ASC(PP$) = 42 THEN PRINT CHR$(8);" ": GOSUB 60010: HOME :A$ = RIGHT$(P$,( LEN(P$) -X)) +A$:X = LEN(P$):HO = 1: RETURN
62130 PRINT CHR$(8);PP$;: INVERSE : PRINT PR$;: NORMAL : FOR XX = 1 TO D:S = PEEK(SO): NEXT : NEXT : PRINT CHR$(8);" "
62140 IF LEN(P$) <39 THEN PRINT
62150 RETURN
63000 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>--------------------------------<CTRL-M> SUPER-REM PLUS<CTRL-M>--------------------------------
63001 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<CTRL-M><CTRL-M> -IN REM STATEMENTS-<CTRL-M>EXCLAIMATION PT.=BACKSPACE<CTRL-M>QUOTE=CARRIAGE RETURN<CTRL-M>NUMBER SIGN=CONTROL-D<CTRL-M>AT SIGN=LEFT BRACKET
63002 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>
63003 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> -IN PRINT STATEMENTS-<CTRL-M>PERCENT SIGN=CARRIAGE RETURN<CTRL-M>AT-SIGN=LEFT BRACKET<CTRL-M><CTRL-M><CTRL-M>ADD YOUR OWN AFTER LINE 63200<CTRL-M><CTRL-M>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<CTRL-M>
63010 TEXT : HOME :I = 1:L = 1
63020 LIST 63000: VTAB 24: PRINT : POKE 34,4: HOME
63030 INPUT "RELATIVE STARTING LINE:";LI: IF LI <1 THEN GOTO 63010
63040 HOME
63050 SLOC = PEEK(103) + PEEK(104) *256
63060 ELOC = PEEK(175) + PEEK(176) *256
63070 LOC = SLOC +4: PRINT L;")";: HTAB 5: PRINT LOC -2;" ";:L = L +1: IF LI >1 THEN GOTO 63090
63080 GOSUB 63200
63090 NLOC = (SLOC +( PEEK(SLOC) +1)): PRINT : PRINT L;")";: HTAB 5: PRINT NLOC;" ";:OLOC = NLOC:L = L +1: IF LI >2 THEN GOTO 63110
63100 GOSUB 63190
63110 FOR X = 1 TO (LI -2): GOSUB 63160:OLOC = NLOC: IF NLOC > = ELOC THEN END
63120 NEXT
63130 GOSUB 63190
63140 GOSUB 63160: GOSUB 63190:OLOC = NLOC: IF NLOC > = ELOC THEN END
63150 GOTO 63140
63160 NLOC = (SLOC +( PEEK(OLOC -2) +1))
63170 Q = PEEK(NLOC -1) -8: IF Q = I THEN SLOC = SLOC +256:I = I +1